package org.microframework.base.core.security.model;

import java.util.Collection;
import java.util.List;
import lombok.Builder;
import lombok.Data;

/**
 * 安全用户模型
 * 等保要求：用户信息应包含必要的身份标识和权限信息
 */
@Data
@Builder
public class SecurityUser{

    /**
     * 用户ID
     */
    private String id;
    
    /**
     * 用户名
     */
    private String username;
    
    /**
     * 密码
     */
    private String password;
    
    /**
     * 用户昵称
     */
    private String nickname;
    
    /**
     * 用户邮箱
     */
    private String email;
    
    /**
     * 手机号码
     */
    private String mobile;
    
    /**
     * 账号是否未过期
     */
    private boolean accountNonExpired;
    
    /**
     * 账号是否未锁定
     */
    private boolean accountNonLocked;
    
    /**
     * 凭证是否未过期
     */
    private boolean credentialsNonExpired;
    
    /**
     * 账号是否启用
     */
    private boolean enabled;
    
    /**
     * 权限列表
     */
    private Collection<?> authorities;
    
    /**
     * 权限标识
     */
    private List<String> permissions;
    
} 